The existing mechanism of Java Server Pages (JSP) processing may result in sub-optimal end user response times and impacts bandwidth between HTTP server and Web Container tiers, especially for large sites.
In most enterprise websites with large number of users, there is a tier of HTTP servers before a tier of Web Containers. The tier of HTTP servers is typically meant to load-balance requests to the Web Containers. Also for efficiency, they are normally configured to directly serve requests for static content (e.g., html or image files).
One of the major reasons why JSP came into being is the numerous printlns in servlets. JSP is more oriented towards the web page designer. It looks more similar to the resulting page, thus, it is easy to write or modify from the page designer's perspective. However, for execution, a JSP is still converted into a servlet and to its many printlns running at the web container. So a good amount of the out-print( ) statements still prints static content, i.e. some of the text printed is identical, while executing any given request. Therefore, when a JSP is converted into servlet, what had been specifically marked by the developer as static content becomes undistinguishable among the dynamic content at runtime.
As a result, the following problems exist:                (1) Once a routed request from an HTTP server arrives at a Web container, there is a latency waiting for the resources for execution to be allocated from the pool, before any content could be served. In addition, there is the latency of forwarding the request by the HTTP server. Thus, all this time the client (browser) is waiting with nothing to do while the dispatching of the static portion could have potentially begun, as soon as the HTTP server had gotten the request. In addition, if the static content contained references to resources that need to be fetched—such as images (i.e. the <IMG> tags), the browser could have initiated a request to fetch the referenced resource (e.g. GIF files), while waiting for the dynamic portion of the response.        (2) In the current scenario, the declared static portion of the JSP cannot be served by the tier of HTTP servers, which means there is more traffic between the HTTP servers and Web Containers, as well.        